﻿
namespace LocationAwareness
{

    public delegate void GpsDriverInitialized();

    /// <summary>
    /// Defines access to the GPS framework.
    /// </summary>
    public interface GPSInterface
    {
        /// <summary>
        /// Gets Latitude as double value.
        /// </summary>
        double getLatitude();

        /// <summary>
        /// Gets Longtitude as double value.
        /// </summary>
        double getLongtitude();

        /// <summary>
        /// Opens GPS device from GUI.
        /// </summary>
        void openGPS();

        /// <summary>
        /// Closes GPS device from GUI.
        /// </summary>
        void closeGPS();

        /// <summary>
        /// Actual position as GpsPosition object. 
        /// </summary>
        GpsPosition getGpsPosition();

        /// <summary>
        /// Fired after gpsdriver is initialized, only fired once after the start of the programm 
        /// </summary>
        event GpsDriverInitialized gpsDriverInitialized;
    }
}
